/**
 * Helper Classes
 */
// Grid
.grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -0.83333em;
  margin-right: -0.83333em;
}

.grid-item {
  box-sizing: border-box;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin-bottom: 1.66667em;
  padding-left: 0.83333em;
  padding-right: 0.83333em;

  .grid-col-2 & {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;

    @media only screen and (max-width: 540px) {
      -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
      max-width: 100%;
    }
  }

  .grid-col-3 & {
    -ms-flex-preferred-size: 33.333%;
    flex-basis: 33.333%;
    max-width: 33.333%;

    @media only screen and (max-width: 760px) {
      -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
      max-width: 100%;
    }
  }
}

// Text meant only for screen readers
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
}

// Clearing floats
.post-content {
  &:after {
    clear: both;
  }

  &:before,
  &:after {
    content: "";
    display: table;
  }
}

// Heading decoration
.line-top {
  position: relative;

  &:before {
    border-left: 45px solid _palette(accent);
    content: "";
    display: block;
    height: 3px;
    margin-bottom: 0.83333rem;

    .accent-green & {
      border-left-color: _palette(accent-green);
    }
  
    .accent-blue & {
      border-left-color: _palette(accent-blue);
    }
  
    .accent-violet & {
      border-left-color: _palette(accent-violet);
    }
  
    .accent-yellow & {
      border-left-color: _palette(accent-yellow);
    }
  }
}
